package com.周阳.模板方法;

import lombok.AllArgsConstructor;

public abstract class SoyaMilk {

    public boolean flg;

    final void make(){
        select();
        /**
         * 模板方法中的钩子
         */
        if (flg()){
            addCondiments();
        }
        soak();
        beat();
    }


    /**
     * 钩子方法
     * @return
     */
    public abstract boolean flg();


    void select(){
        System.out.println("第一步：选择好的新鲜黄豆");
    }


    abstract void addCondiments();



    void soak(){
        System.out.println("第三步：黄豆和配料开始浸泡3小时");
    }


    void beat(){
        System.out.println("第四步：黄豆和配料共同加入豆浆机中制作");
    }

}
